home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCsiod / SIOD / Exp-Imp.scm < prev    next >
Text File  |  1993-09-22  |  1KB  |  28 lines

  1. (define (implode x)
  2.         (define y "")
  3.         (while (not (atom? x)) 
  4.                (cond ((string? (car x)) 
  5.                       (set! y (string-append y 
  6.                                      (make-string 1 (string-ref (car x) 0)))))
  7.                      ((symbol? (car x))
  8.                       (set! y (string-append y 
  9.                                      (make-string 1 (integer->char (symbol->ASCII (car x)))))))
  10.                      ((integer? (car x))
  11.                       (set! y (string-append y 
  12.                                      (make-string 1 (integer->char (car x))))))
  13.                      (else (error "arg to implode must be a symbol or a string or an integer" (car x))))
  14.                 (set! x (cdr x)))
  15.         (string->symbol y))
  16.                   
  17. (define (explode x)
  18.         (cond ((symbol? x) (set! x (symbol->string x)))
  19.               ((integer? x) (set! x (integer->string x 10)))
  20.               ((string? x))
  21.               (else (error "arg to explode must be a symbol or a string or an integer" x)))
  22.         (do ((i 0 (1+ i))
  23.              (res nil))
  24.             ((= i (string-length x)) (reverse! res))
  25.             (set! res 
  26.                   (cons (string->symbol (make-string 1 (string-ref x i)))
  27.                         res))))
  28.